As used herein, the terms “user equipment” and “UE” might in some cases refer to mobile devices such as mobile telephones, smartphone, personal digital assistants, handheld or laptop computers, and similar devices that have telecommunications capabilities. However, in other cases the term “UE” might refer to communication terminals or devices that have similar communication capabilities as those previously-mentioned devices but that are not considered to be readily transportable, such as desktop computers, set-top boxes, or network appliances. The “UE” can execute or otherwise include one or more software components that can manage or otherwise facilitate a communication session for a user of the UE. These software components may be referred to using the terms “user agent,” “UA” and the like.
The Open Mobile Alliance (OMA) Device Management (DM) specification supports extensions called Management Objects (MOs), which are logical collections of related pieces of data stored in a data structure known as a DM tree. A UE that supports OMA DM typically has an embedded OMA DM client which communicates with an OMA DM server in the network. The OMA DM client acts as an intermediary between MOs and the applications, functions, agents, or other software or firmware components on the UE that might make use of the MOs to configure their services. An entity that interacts with the OMA DM client on the UE and an OMA DM server includes a Management Authority (MA) which may be a user, a network operator, a handset manufacturer, an enterprise administrator, an agent, or an application that may create, modify, or delete an MO, and may make requests to the UE.
Each MO on a UE typically contains data related to a specific application or capability (e.g., software or hardware) of the UE. For example, an email MO might contain data associated with an email agent. If multiple email agents are installed on a UE, each might use a separate email MO, or they might all use the same email MO. All of the MOs and agents on a UE typically interact via a single DM client. The device management (DM) tree organizes the MOs in a logical hierarchical manner. Each of these MOs might include multiple nodes that include a single integer value, an indicator, a flag, a universal resource identifier (URI), or might include, for example, a picture and/or other information.
The OMA DM standard provides for the previously-mentioned DM tree of Managed Objects (MO) to be stored on a user equipment (UE). The MOs may be used to manage at least one of functionalities, capabilities and behaviors of UEs in a variety of ways such as, for example provisioning, configuring, upgrading software and fault tracking. As used herein, the term provisioning may include enabling and disabling of features on the UE. As used herein, the term configuring may include modifying settings and parameters of the UE. As used herein, the term software upgrades may include installation of new software or bug fixes for pre-installed software to include application software and system software. As used herein, the term fault tracking may include reporting errors or status of the UE. The UE may use all or a subset of the MOs described herein.
The DM tree on the UE may be accessed and managed by a DM client on the UE. The DM client on the UE may interact with a network component configured as or with a DM server. The DM server may issue commands to the DM client on the UE which may in turn apply changes to the DM tree of MOs on the UE. Several DM servers may be issuing commands to the DM client on the UE to modify the same DM tree. For example, a first DM server may provide configuration information for email services and a second DM server may provide information regarding an internet service. Both the first and the second server may need to know the status of the current DM tree on the UE prior to making updates in order to prevent conflicts or the inefficiency of installing the same update twice.
Before a DM server acts on a DM tree on a UE, the DM server may communicate with the DM client to be synchronized with the current state of the DM tree on the UE. For example, the DM server may issue a request or command to read or retrieve the entire DM tree and return the state of all the MOs on a UE to facilitate synchronization of the UE status with the DM server status. Requiring the entire DM tree and all of the data in the MOs to be transmitted from the UE to the DM server is a resource intensive process. Accordingly, one specified functionality of OMA DM is to support a mechanism allowing a server to retrieve the value of a DM client's MOs (all or subset) with a focus on the query and response consuming minimum bandwidth and processing resources. The objectives of this mechanism are that: 1) the UE responds quickly (minimum processing required to respond to a query); and 2) data transmitted is small (minimum bandwidth required to transmit a response).
To this end it has been proposed to document changes to the DM tree by storing “delta records,” which are created in the UE to indicate incremental changes or “diffs.” In this way the DM server need not determine DM tree changes by comparing or reconciling a newly-received DM tree status from the DM client with a previously-received DM tree status. The delta records may be used to identify who, what and when changes were applied or made. The delta records may be stored in the UE, for example in a memory or separate data structure, such as a file or log. As used herein, the term change log may be used to refer to the data structure where the changes made to the DM tree on the UE are stored. A change log may include information such as: the MO that was changed; the new value of the MO; the date and time the change was made; the entity that requested the change; and any other useful information. The change log may be a file, database, spreadsheet, a table within a database or any other medium or arrangement for storing data.
In view of using delta records in OMA DM for efficient retrieval of DM tree changes by the DM client, and for efficient communication of DM tree changes to the DM server, the present disclosure details additional behavior or functionality vis-à-vis delta records.